(1) Field of the Invention
The present invention relates to a method of controlling a duplex data storage system and a data processing system using such a method. More specifically, the present invention is concerned with improvements in data transfer between a data processing device such as a processor module and a duplex data storage system composed of two external data storage units.
(2) Description of the Related Art
FIG. 1 shows a data processing system having a duplex data storage system. The data processing system shown in FIG. 1 is composed of a processor module, and a duplex data storage system consisting of two external data storage units 200A and 200B. The processor module 100 is, for example, a computer main frame. The external data storage unit 200A is composed of a controller 210A and a storage device 220A, such as a magnetic disc device 220A, and similarly the external data storage unit 200B is composed of a controller 210B and a storage device 220B.
When a storage controller 110 of the processor module 100 receives a request issued by the execution of a program by a request source 120, the storage controller 110 reads out data from an area of the request source 120 specified by the request and respectively instructs the external data storage units 200A and 200B to write the readout data into the storage devices 220A and 220B. During this operation, a common identification number defined in common for the external data storage units 200A and 200B is specified by the request source 120. The storage controller 110 receives the common identification number from the request source 120, and recognizes that the specified device is the duplex data storage system. Then, the storage controller 110 respectively issues two identical commands to write the readout data into the duplex data storage system (that is, the storage devices 220A and 220B). The controllers 210A and 210B respectively receive the command and respectively execute the received command. Then, the controllers 210A and 210B respectively receive the same readout data, and write the received readout data into identical areas of the storage devices 220A and 220B. When the control specified by the command is completed, each of the controllers 210A and 210B sends the storage controller 110 a write completion response showing the completion of the specified control.
In the above-mentioned way, the external data storage units 200A and 200B always have the same contents. With this arrangement, it is possible to ensure the stored data even if one of the external data storage units 200A and 200B has a failure.
It should be noted that conventionally, the storage controller 110 respectively receives the control completion reports from the controllers 210A and 210B and informs the request source 120 that the request has been completely executed.
The above-mentioned procedure is illustrated in FIG. 2. The request to write data into the duplex data storage system is generated at time T0, and then the command is generated. This command is successively sent to the controllers 210A and 210B. In the sequence shown in FIG. 2, the command is sent to the controller 210A first and the controller 210B second. The controller 210A starts to execute the received command, and then the controller 210B starts to execute the received command. Writing the readout data into the storage device 220A ends at time T1, and writing the same data into the storage device 220B ends at time T2. After time T2, the controller 110 recognizes the completion of writing the readout data into the duplex data storage system, and informs the request source 120 of the completion of the request. It is impossible for the request source 120 to process another job before it is informed that the request has been completely executed. Thus, the request source 120 cannot work efficiently and the throughput of the entire processor module 100 degrades.